'use strict';

const Service = require('egg').Service;
// const {ObjectId} = require('mongodb')
class MovieService extends Service {
  async find(m) {
    var db = this.app.mongodb;
    var res = await db.collection(m).find().toArray()
    return res
  }

  async getMovieDetailOrSearch(obj){
    const db = this.app.mongodb
    const tables = ["top250","inTheaters","comingSoon"];
    const sum = []
    for(var i = 0 ; i < tables.length ; i++){
      if (obj.id) {
        var res = await db.collection(tables[i]).find({_id:obj.id}).toArray()
        sum.push(...res)
      }else if (obj.keyword) {
        var keyword = new RegExp(obj.keyword) // 查询数据库需要使用正则
        var res = await db.collection(tables[i]).find({title:keyword}).toArray()
        sum.push(...res)
      }
    }
    return sum
  }

  async collectedMovie({id,collected}){
    const db = this.app.mongodb
    const tables = ["top250","inTheaters","comingSoon"];
    for(var i = 0 ; i < tables.length ; i++){
      await db.collection(tables[i]).updateOne({_id:id},{$set:{collected}})
    }
  }


}

module.exports = MovieService;